Controller and control method for robot system

ABSTRACT

A robot system controller and control method that implement sophisticated cooperation among units is provided. The controller may include: a data acquisition unit adapted to acquire first data including information about the handling object and the shelf before storing or retrieving the handling object in/from the shelf; a data storage unit; and a robot control unit adapted to select and transport the shelf to an access position before storing or retrieving the handling object in/from the shelf, create or acquire a control sequence for storing or retrieving the handling object in/from the shelf, instruct the transport robot to execute a task of transporting the shelf to the access position, and instruct the handling robot to execute a task of storing or retrieving the handling object in/from the shelf.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/739,971, filed Jan. 10, 2020, which claims the benefit of U.S.Provisional Patent Application Ser. No. 62/792,348, filed Jan. 14, 2019,and Japanese Patent Application No. 2019-188774, filed Oct. 15, 2019,all of which are incorporated herein by reference in their entireties.

This application contains subject matter related to U.S. patentapplication Ser. No. 16/740,251, filed Jan. 10, 2020, now U.S. Pat. No.10,953,544 issued on Mar. 23, 2021, titled “ROBOTIC SYSTEM WITHCOORDINATION MECHANISM AND METHODS OF OPERATING THE SAME,” which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

The present technology is directed generally to robotic systems and,more specifically, a control mechanism.

BACKGROUND

Many robots (e.g., machines configured to automatically/independentlyperform physical operation) currently enjoy wide use in many fieldsbecause of their ever-improving performance and falling costs. Forexample, robots can be used to perform various operations such asmaneuvering and transferring objects for production, assembly,packing/packaging, transportation, and the like. In performingoperations, robots can repeat human motions, thereby taking over orreducing dangerous or repetitive human operations.

As an example of such robotic system, Japanese Patent Laid-Open No.2018-167950 proposes an automatic logistics system equipped with atransport container storage mechanism. The transportation containerstorage mechanism is adapted to temporarily store a transport containerfor automating processes for warehouse operations and shippingoperations. The automatic logistics system automatically transfers itemsfrom the transport container to a shipment container based on shippinginformation.

However, in spite of technological advancement, in many cases, robotslack sophistication needed to reproduce a human-involved operation incarrying out a larger and/or more complicated task. Therefore,automation and functional expansion of robot systems are stillinsufficient and currently fails to eliminate human involvement.Currently required human operations reduce overall efficiency.Consequently, there is still a need for technological improvements inorder to manage various motions and/or interactions among robots andfurther promote automation and functional expansion of the robotsystems. Thus, a robot system controller and robot system control methodthat implement, for example, sophisticated cooperation among unitsincluding robots is desired.

SUMMARY OF THE INVENTION

To solve the above problem, the technology described below adopts thefollowing configurations.

[1] A controller according to the present technology controls a robotsystem including a handling robot adapted to handle an object to storethe object in a shelf and/or retrieve (take out) the object from theshelf, and a transport robot adapted to transport the shelf, where thehandling robot handles the object using a robot arm, end effector, andthe like. Examples of the handling robot includes a fetching robot,devanning robot, and piece-picking robot. The controller comprises (1) adata acquisition unit adapted to acquire first data includinginformation about the object and information about the shelf beforestoring the object in the shelf and/or retrieving the object from theshelf; (2) a data storage unit adapted to store the first data; and (3)a robot control unit adapted to select and transport the shelf to anaccess position based on the first data before storing the object in theshelf and/or retrieving the object from the shelf, create or acquire acontrol sequence for storing the object in the shelf and/or retrievingthe object from the shelf, and based on the control sequence, instructthe transport robot to execute a task of transporting the shelf to theaccess position and instruct the handling robot to execute a task ofstoring the object in the shelf and/or retrieving the object from theshelf.

Here, the “object” is an object handled by the handling robot providedin the robot system and includes, for example, one or more items or acontainer (e.g., a bin, storage container, or box) that contains theitems or has the items placed thereon. The container may be eitherpacked or unpacked. Also, part of (e.g., a top face) the container maybe open (e.g., an “open-top” container). Also, according to otherembodiments and examples, the “object” may be handled or transferredwith respect to a shelf, pallet, conveyor, and temporary storage area.The “shelf,” which may be transported by the transport robot of therobot system, is a structure including one or more shelves and capableof holding at least one or more objects thereon. Furthermore, the“information about the object” and “information about the shelf” areinformation associated with identification of the object and the shelf,respectively. Also, the “access position” of the “shelf” is a positionat which the handling robot can access the shelf. Furthermore, the“control sequence” is an operating sequence that includes a set ofcontrols that cause one or more units (e.g., the handling robot andtransport robot) provided in the robot system to execute individualtasks. The term “before” means that something is taking place at orprior to a given time point and the term “after” means that something istaking place at or subsequent to a given time point.

In some embodiments, before storing the object on the shelf and/orbefore retrieving the object from the shelf, information about theobject and information about the shelf are obtained and a task isexecuted based on the control sequence created according to the firstdata including the information. This makes it possible to efficientlyand smoothly perform the operation of storing the object in the shelfand/or the operation of retrieving the object from the shelf. To providethe increased efficiency and smooth performance, cooperation among theunits in the robot system, and especially sophisticated cooperationbetween the handling robot and transport robot can be coordinated,thereby expanding the functionality of the robot system.

[2] In the above configuration, the data acquisition unit may acquiresecond data including the information about the object and theinformation about the shelf after the object is stored in the shelfand/or after the object is retrieved from the shelf; and the datastorage unit may store the second data.

With this configuration, information about the object and informationabout the shelf can be grasped after the object is stored in the shelfand/or after the object is retrieved from the shelf. This makes itpossible to keep track of a state or situation of the shelf reliablyafter the object is stored and/or after the object is retrieved.

[3] In the above configuration, the robot control unit may create oracquire the control sequence based on the second data such that theobject is placed in a concentrated manner in the shelf.

With this configuration, the second data can be used to provideavailable space information (availability information for subsequentplacements) about the shelf after a preceding object is stored in theshelf and/or retrieved from the shelf. Thus, in a next stage, the shelfcan be selected efficiently in storing (filling) the object on (into)the shelf and/or retrieving the object from the shelf. This makes itpossible to increase storage efficiency of the shelf and prevent theshelf from being cluttered with useless spaces (defragmentation). Also,the configuration makes it possible to reduce such useless spaces andmakes it easier to collectively manage positional information about theobject and the shelf.

[4] In the above configuration, the robot control unit may instruct thehandling robot to perform at least part of operations in the controlsequence before the shelf reaches the access position.

With this configuration, while the transport robot is transporting theshelf to the access position (i.e., before the shelf arrives at theaccess position), the handling robot can store or retrieve the object inadvance. This enables more sophisticated cooperation, making it possibleto reduce task completion times.

[5] In the above configuration, the data acquisition unit may acquirerelative positional information about the transport robot and the shelf;and the robot control unit may correct positional information about theshelf at the access position based on the relative positionalinformation, and create or acquire the control sequence based on thecorrected positional information.

With this configuration, when the handling robot accesses the shelf, theshelf and/or the transport robot may be used as a reference for motions.Accordingly, misalignment between the shelf and the transport robotholding the shelf can be corrected. This allows the handling robot tomore accurately perform the operations for storing the object on theshelf and/or retrieving the object from the shelf, resulting inimprovement of operating accuracy and operating efficiency.

[6] In the above configuration, the shelf may be configured such thatthe object is stored and/or retrieved in a lateral direction and asafety catcher for the object may be installed in an end portion of theshelf; the handling robot may grip the object from the lateral direction(e.g., a devanning gripper can be used, where devanning is the operationof unloading, e.g., from a storage/shipping container); and the robotcontrol unit may create or acquire the control sequence such that theobject moves over the safety catcher. Note that the “end portion of theshelf” is a peripheral edge of an upper surface of each shelf board ofthe shelf, an entire circumference in a neighborhood of the peripheraledge, or part of the entire circumference, or such a position where atleast part of the object such as an item interferes with at least partof the safety catcher, with the object placed on the shelf board.

With this configuration, the safety catcher installed on each shelfboard of the shelf prevents the object placed on the shelf board fromfalling off the shelf. Also, the object is gripped by the handling robotfrom the lateral direction and stored in and/or retrieved from the shelfin the lateral direction. Therefore, even if the shelf is a multi-tieredshelf having plural shelf boards, the object can be stored in and/orretrieved from the shelf easily. In so doing, since the handling robotmoves the object by avoiding (moving over) the safety catcher, theobject can be stored in and/or retrieved from the shelf smoothly andreliably.

[7] In the above configuration, the data storage unit may storepositional information (e.g., layout information) about a plurality ofthe objects on the shelf as two-dimensional information orthree-dimensional information for each object or for each shelf board ofthe shelf.

With this configuration, positions of the objects placed on the shelfcan be grasped for each object or for each shelf board (the latter casecan also be said to be on a layer by layer basis). Also, the layout ofthe plural objects can be managed collectively as one-dimensionalinformation or three-dimensional information on each shelf board oracross different shelf boards. Thus, for example, if one object ispinpointed, the objects stored on the same shelf board of the shelf orthe objects stored on the shelf can be pinpointed all at once. Thismakes it possible to improve operating efficiency, for example, byreducing resources needed for inventory control and stocktaking.

[8] In the above configuration, the robot system may further include asensor adapted to image the shelf storing the object. The robotic systemmay allow the sensor to measure identification information (a code or atag representing the identification information) about the object, therobot control unit may create or acquire the control sequence forstoring the object on the shelf.

With this configuration, the robotic system may use the sensor todetermine the identification information of objects stored on the shelf.In this case, for objects having the identification informationaccessible via a side surface, the objects may be placed withidentification information exposed so as to be visible from an outerside of the shelf board. The identification information attached to thestored object may be recognized by a sensor, such as a camera. Thus,objects stored on the shelf can be easily identified and determined. Inso doing, if positional information about objects stored on the shelfare stored in advance as two-dimensional information orthree-dimensional information as with [7] above, by pinpointing oneobject, the objects stored on the shelf can be pinpointed for each shelfboard or shelf more easily and simply all at once. This makes itpossible to further improve operating efficiency in inventory controland stocktaking.

[9] In this case, more specifically, the robot system may furtherinclude a sensor adapted to image the shelf storing the object; and thesensor may image the shelf when the transport robot holding the shelf isat rest or when the transport robot holding the shelf is moving.

[10] In the above configuration, the robot control unit may generate aflag that storage of the object on the shelf and/or retrieval of theobject from the shelf will be complete, before the storage of the objectin the shelf and/or the retrieval of the object from the shelf are/isfinished.

With this configuration, at a stage before storage of the object in theshelf and/or retrieval of the object from the shelf are/is finished, theflag can indicate the upcoming completion. Thus, an operation of a taskexecuted in a next stage can be started smoothly on a timely basis,enabling more sophisticated cooperation among units by reducing workdelays.

[11] In the above configuration, the data acquisition unit may acquireactually measured values or estimated values of the information aboutthe object and/or the information about the shelf. Consequently, theposition of the object inside/outside the shelf, the position of theshelf, and the position of the identification information attached tothe object can be checked by actually measuring with a sensor such as acamera or estimated, for example, based on a master data even if notactually measured.

[12] A logistics system according to the present technology comprises:the controller according to any one of the above configurations; and arobot system including the handling robot and the transport robot.

[13] In the above configuration, the controller may identify the robotsystem and a region related to the robot system and calculate tasks(including a unit task and a task made up of a combination of aplurality of unit tasks) based on the control sequence; and the tasksmay include a task related to conveyance of the shelf and handling ofthe object by the robot system and a plurality of tasks executed by therobot system across adjacent and/or overlapping regions.

[14] A program according to the present technology causes a computer tofunction as the controller of any one of the above configurations.

[15] A recording medium according to the present technology is acomputer-readable non-transitory recording medium on which the aboveprogram is recorded.

[16] A control method according to the present technology is a controlmethod for a robot system including a handling robot adapted to handlean object to store the object on a shelf and/or retrieve the object fromthe shelf, and a transport robot adapted to transport the shelf, thecontrol method being performed by a controller having a data acquisitionunit, a data storage unit, and a robot control unit. With this method,(1) the data acquisition unit acquires first data including informationabout the object and information about the shelf before storing theobject on the shelf and/or retrieving the object from the shelf; (2) thedata storage unit stores the first data; and (3) the robot control unitselects and transports the shelf to an access position based on thefirst data before storing the object on the shelf and/or retrieving theobject from the shelf, creates or acquires a control sequence forstoring the object on the shelf and/or retrieving the object from theshelf, and based on the control sequence, instructs the transport robotto execute a task of transporting the shelf to the access position andinstructs the handling robot to execute a task of storing the object onthe shelf and/or retrieving the object from the shelf.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic flowchart showing an example work sequence for arobot system according to one embodiment of the present technology.

FIGS. 2A and 2B are perspective views schematically showing externalappearance of example transport robots according to one or moreembodiments of the present technology.

FIG. 3 is a perspective view schematically showing external appearanceof an example handling robot according to one or more embodiments of thepresent technology.

FIGS. 4A and 4B are perspective views schematically showing externalappearance of an example handling robot according to one or moreembodiments of the present technology.

FIG. 5 is a block diagram showing an example of a hardware configurationand functional configuration of a robot system according to oneembodiment of the present technology.

FIG. 6 is a partial functional configuration diagram showing an exampleof a work flow performed by a robot system according to one embodimentof the present technology as well as an example of a functionalconfiguration of a controller provided on the robot system.

FIG. 7 is a flowchart showing an example of procedures for executing afirst task by operating a robot system according to an embodiment of thepresent technology.

FIG. 8 is a flowchart showing an example of procedures for executing asecond task by operating a robot system according to an embodiment ofthe present technology.

FIG. 9A is a schematic plan view showing an example environment in whicha robot system according to one embodiment of the present technology canoperate.

FIG. 9B is a schematic plan view showing part of the example environmentin which the robot system according to the embodiment of the presenttechnology can operate, illustrating a state of a grouping area in FIG.9A and its surroundings.

FIG. 10A is a schematic plan view showing another example environment inwhich a robot system according to one embodiment of the presenttechnology can operate.

FIG. 10B is a schematic plan view showing the other example environmentin which the robot system according to the embodiment of the presenttechnology can operate, illustrating a state of a grouping area in FIG.10A and its surroundings.

DETAILED DESCRIPTION

The present technology provides a robot system in which multiple units(e.g., various robots, various devices, a controller provided integrallytherewith or separately therefrom) are integrated/coordinated in asophisticated manner through a controller for the robot system, alogistics system equipped therewith, a method therefor, and the like.That is, a robot system according to an embodiment of the presenttechnology is an integrated system capable of autonomously executing,for example, one or more tasks.

Here, “tasks” can include, for example, a task in which a robot and thelike access objects. The tasks may include moving the objects from oneplace to another, such as for storing, keeping, retrieving, andorganizing the objects. The tasks may be for classifying or reorganizingthe objects into plural groups. The tasks may be for imaging, recording(e.g., for stock-keeping) and managing the objects.

Also, “tasks” can include, combinations or sequences of unit or subtasks executed during storage of objects (via, e.g., receivingconveying, palletizing (loading), depalletizing (unloading), housing,etc.), restocking or repackaging objects (unpacking, filling,replenishment, etc.), and shipping of objects (retrieving, picking,packing, loading, palletizing, etc.) in a logistics system. Furthermore,“tasks” can include, for example, gripping or lifting objects at aspecified position, moving objects on a specified path, and releasing,putting down, or placing objects at a specified position in order torearrange, regrip, or replace the objects.

Furthermore, the robot system according to the present technology canaccess objects, for example, via plural units (e.g., a handling robotand/or a transport robot) and to automate processes for warehousestorage and/or shipping. Furthermore, the robot system according to thepresent technology can classify (group) objects as appropriate, move orplace the objects to/at desired positions or specified positions, accessthe objects, relocate or reclassify the objects in the place or in otherplaces, or rearrange or replace the objects according to characteristicsof the objects. In this case, the robot system can read one or morepieces of identification information (e.g., a bar code or Quick Response(QR) code (registered trademark)) attached to one or more specificpositions or surfaces of the objects, check the identificationinformation against master data as required, thereby identifying and/orlocating the objects, and acquire information associated with theobjects.

Furthermore, the robot system according to the present technology can beequipped with a sensor (e.g., an imaging sensor) to identify positionsand states (e.g., poses including orientations) of objects and/or asurrounding environment of the objects. The imaging sensor can acquireimages of working positions (e.g., locations and/or orientations of theobjects including a pick-up position, a drop position, and a positionmidway on a path) for the tasks executed by individual units of therobot system and images of the objects at the working positions. Also,the robot system according to the present technology can process imagesof the objects in a predetermined order (e.g., from top to bottom, froma lateral edge, or from an inner side of the object). In so doing, byidentifying and classifying outer shapes and environments of the objects(based on, e.g., colors of adjacent pixels, brightness, and changes inthose values on the images of the objects), states and situations of theimages of the objects can be determined as appropriate.

The robot system according to the present technology can acquire andexecute a control sequence for executing a task of accessing andobjects, a task of transporting, moving, placing, storing, and otherwisemanipulating the objects, and other tasks. The control sequence caninclude a combination of basic control sequences for driving operativemechanisms of the respective units. The robot system can create oracquire a control sequence for executing various tasks, for example, viamachine learning such as motion planning or deep learning.

A conventional robot system used in a typical logistics system, inexecuting tasks related to warehousing, stocking, or shipping ofobjects, cannot perform sophisticated interaction among plural units. Asa result, operator support is necessary during transition betweendifferent tasks executed successively. Also, while the conventionalrobot system can access, objects in response to an order, it is oftennecessary for the operator to group the ordered goods or place them in asequence. Furthermore, conventional robot system present difficultiesassociated with changing the robotic units or operating procedures forthe objects. Such difficulties are further amplified when the replacedunits perform tasks that require operator intervention and support dueto difficulties associated with changing a control sequence.

Also, as a basic control sequence, the conventional robot systemexecutes a task of gripping an object at one position, moving to anotherposition in this state, and releasing the object. However, by using onlysuch basic operations, storage efficiency for objects and operatingefficiency of each unit are limited. Increasing the storage efficiencyfor objects, often requires operator intervention and support(adjustment, redo, supplementation, system stop, etc.).

In contrast, the robot systems according to various aspects of thepresent technology can adjust and control interaction among separateunits (e.g., the handling robot and transport robot) in executing tasksand promote cooperation among different units unlike conventionalrobots. Consequently, the operator intervention and support neededconventionally is reduced or eliminated, and the storage efficiency forobjects, operating efficiency, and economy can be improved.

Also, the robot system according to the present technology can reliablyidentify an operating range, a motion path, positions and states ofobjects, or a combination thereof concerning each unit, and executetasks smoothly across different units. In so doing, being able tooptimize the storage efficiency for objects based on shape information,identification information, positional information, and other similarinformation about the objects, the robot system can further increaseefficiency of space usage. Therefore, the robot system according to thepresent technology can create or acquire, and execute one or morealgorithms configured to place tasks of different units in order, one ormore protocols for controlling interaction among separate units, and asuitable control sequence that can implement sophisticated cooperativemotions among various units based on information about the states ofobjects.

Embodiments according to one or more examples of the present technologywill be described below with reference to the accompanying drawings.However, the embodiments described below are merely examples, andvarious modifications and technical applications not mentionedhereinafter are not intended to be excluded. That is, the example of thepresent technology can be implemented in various modified forms withoutdeparting from the spirit and scope of the present technology. Also, inthe following drawings identical or similar parts are denoted by thesame or similar reference numerals, and the drawings are schematic anddo not necessarily represent actual sizes, ratios or the like.Furthermore, the drawings may not be shown in their true size relations.Also, the embodiments described below are part of the embodiments of thepresent technology rather than all the embodiments of the presenttechnology. Furthermore, any other embodiment obtained by those skilledin the art based on embodiments of the present technology without theneed for creative activities is included in the scope of protection ofthe present technology.

Also, in each embodiment, technique introduced herein can be carried outwithout particular details of the technique. Furthermore, detaileddescription of well-known functions such as specific functions orroutines is omitted to avoid making the present technology unnecessarilydifficult to understand. Besides, detailed description of well-knownstructures or processes often associated with robot systems andsubsystems may also be omitted for the sake of clarification. Referenceto “an embodiment,” “one embodiment,” or the like herein means that aspecific feature, structure, material, or characteristic is included inat least one embodiment of the present technology. Therefore, themention of such a phrase herein does not necessarily refers to the sameembodiment. On the other hand, such references are not always mutuallyexclusive. Furthermore, a specific feature, structure, material, andcharacteristic can be combined in any appropriate manner in one or moreembodiment. It should be understood that various illustrated embodimentsare presented only in an explanatory manner and are not necessarilyshown in their true scales.

Also, many embodiments or aspects of the present technology includeprocesses, steps, routines, blocks, and the like executed by aprogrammable computer or controller (controller) and take the form ofcommands executable by the computer or controller. It should beunderstood by those skilled in the art that the described technique canbe implemented by a system of computers or controller other than thoseshown in the embodiments. The technique described herein can be carriedout in a special-purpose computer or data processor programmed,configured, or built to execute one or more computer-executable commandsdescribed below.

Thus, the terms “computer” and “controller” generally used hereininclude any data processor as well as an Internet-enabled apparatus anda hand-held device (including palmtop computers, wearable computers,cellular or mobile phones, multi-processor systems, processor-based orprogrammable household electric appliances, network computers, andminicomputers). Information handled by the computer and controller canbe provided to any appropriate display media including, for example, aliquid crystal display (LCD).

Commands issued to execute tasks executable by the computer or thecontroller can be stored in hardware, firmware, or an appropriatecomputer-readable non-transitory recording medium including acombination of hardware and firmware. Also, each command can beincluded, for example, in any appropriate memory device including aflash drive and/or other appropriate medium.

“Coupled,” “connected,” and other similar terms may be used to describestructural relationships among components. However, it is not intendedthat these terms are interchangeable. Specifically, in specificembodiments, the term “connected” can be used to indicate that two ormore elements are in direct contact with one another. Unless otherwiseunderstood clearly from the context, the term “coupled” can be used toindicate that two or more elements are in contact with one anothereither directly (by involving intervening elements among them) orindirectly, indicate that two or more elements collaborate or interactone another (such as when the elements are in a cause-and-effectrelationship as in the case of signal transmission/reception or afunction call), or indicate both states.

Application Example

FIG. 1 is a schematic flowchart showing an example work sequence of alogistics system including a robot system according to one embodiment ofthe present technology. The work sequence includes, for example, awarehousing process P10 of receiving objects (e.g., containers such ascarton and/or boxes containing items) into a distribution center or thelike. The work sequence may further include a replenishment process P20of replenishing, for example, a shelf or the like with objects that areplaced, for example, on a pallet or the like and storing the objects.The work sequence may further include a shipping process P30 for pickingup and shipping ordered items from the objects on the shelf.

In the warehousing process P10, at block S101, objects are received froma transport vehicle or the like. The objects may be received and thenunloaded using, for example, a devanning robot. At block S102, using,for example, a sorting system, the objects are transferred on a conveyoror the like to a position that has reloading pallets designated for theobjects. At block S103, the transferred objects are loaded, for example,onto an appropriate reloading pallet by a palletizing robot.

In the replenishment process P20, At block S104, the pallet with theobjects placed thereon are transported (using, e.g., a pallet automatedguided vehicle (AGV) configured to move pallets by carrying or liftingthem) to a position. The transported position (e.g., destination) may bewhere objects are unpacked and unloaded from the pallet, for example, bya depalletizing robot. At block S105, the objects are unpacked (via,e.g., a top-opening machine) by cutting and thereby opening the top ofthe objects. The opened objects may be transported by a conveyor or thelike to a position that has storage shelves designated for the objects.Next, at block S106, the objects are stored in an appropriate positionof one or more shelves, for example, by a fetching robot. After theobjects are stored on the shelf, the corresponding shelf may betransported to a shelf storage location, for example, by a shelf AGVconfigured to move shelves by carrying or lifting them. Accordingly, theshelves may be kept in an appropriate state.

In the shipping process P30, in response to an order for items, at blockS107, a shelf storing objects (e.g., storage bins or opened objects)containing the ordered items is transported to a retrieval positionusing, for example, a shelf AGV. At the retrieval position a desiredobject is retrieved from the shelf by, for example, a fetching robot. Atblock S108, the ordered items may be picked from within the fetchedobject and transferred to a shipment container or the like. At blockS109, the shipment container is packed using, for example, a packingmachine. At block S110, the packed shipment container is loaded into,for example, an appropriate cart or vehicle for outbound shipment.

In this way, the robot system according to one embodiment of the presenttechnology can include or interact with a devanning robot, palletizingrobot, depalletizing robot, fetching robot, piece-picking robot, packingmachine, and the like. The various robots may serve as handling,transfer, sorting robots/units configured to perform operations formoving objects between different places. Also, the robot systemaccording to one embodiment of the present technology can include asorting system, pallet AGV, and shelf AGV as transport robots serving astransport units.

Here, FIGS. 2A and 2B are perspective views schematically showingexternal appearance of example transport robots 11 and 12 according toone or more embodiments of the present technology. The transport robots11 and 12 can include a mobile/wheeled robot such as a shelf AGVconfigured to transport shelves between predetermined positions. Forexample, the transport robots 11 and 12 have such outside dimensions asto allow the transport robots 11 and 12 to move under shelves and/orbetween shelves. Also, the transport robots 11 and 12 can include alifting mechanism configured to lift shelves from the ground (atransport path surface).

The transport robots 11 and 12 can be navigated using variousmechanisms. For example, the transport robots 11 and 12 can travel bythemselves tracing a predetermined path provided, for example, as afloor marking (e.g., painting or tape), according to instructions from acontroller of a robot system. Also, the transport robots 11 and 12 cancalculate current positions via a mapping/positioning mechanism (e.g., adead reckoning system, a laser-based system, and/or a system based on aradio communications signal), and move along a specified path and routebased on the current positions. Furthermore, in addition to conveyanceof the shelf itself, the transport robot 12 may have a function to storeobjects in a shelf and/or remove objects from the shelf.

Note that a robot system (via, e.g., a controller implemented as astand-alone device or as part of another unit) can transmit to thetransport robots 11 and 12 a target position of a shelf to betransported, a storage position of the shelf, identification informationabout the shelf, a path, a motion plan, or a combination thereof. Basedon the communicated information, the transport robots 11 and 12 canexecute a task, such as by moving to the holding position of the shelfto be transported, lifting the shelf, transporting the shelf to aspecified position, and/or placing the shelf at the specified position.Furthermore, the transport robots 11 and 12 can execute or complete thetask by returning the shelf to be transported, to the original holdingposition or a different storage location.

FIGS. 3, 4A, and 4B are perspective views schematically showing externalappearance of example handling robots 13 and 14 according to one or moreembodiments of the present technology. The handling robots 13 and 14 caninclude, for example, a robot configured to transfer objects 16 (seeFIG. 4A) between predetermined positions. For example, the handlingrobots 13 and 14 have structural members (e.g., robotic arms 132 and142) including end effectors 131 and 141 at distal ends. The endeffectors 131 and 141 can include grippers capable of gripping objectsby vacuum suction. This allows the handling robots 13 and 14 to grip theobjects, such as from the lateral direction. Also, base of the handlingrobots 13 and 14 may be fixed in place (stationary) or movable. The endeffector 141 of the handling robot 14 may be equipped with a plate guideor the like used to support (hold) the object 16 from below, similar toa devanning gripper. This improves load-bearing and gripping capacity ingripping the object 16 and makes it easy to deal with a relatively largeobject transported by a vehicle 40 or the like as shown in FIGS. 4A and4B.

The handling robots 13 and 14 can be operated, for example, according toinstructions from a controller (e.g., a stand-alone device or part ofanother unit). Also, the handling robots 13 and 14 can calculate currentpositions of handled objects and manipulate/handle the objects alongspecified paths and routes based on the current positions. The robotsystem (e.g., the controller) can transmit target positions and pickuppositions of the objects and/or identification information about theobjects to the handling robots 13 and 14. The robotic system (e.g., thecontroller) can further transmit paths, motion plans, or a combinationthereof to the handling robots 13 and 14. Based on the communicatedinformation, each of the handling robots 13 and 14 can execute a task,such as for moving the end effectors 131 and 141 to a grip position ofan object, gripping and lifting the object, transferring the object to aspecified position, and/or placing the object at the specified position.

Configuration Example

FIG. 5 is a block diagram showing an example of a hardware configurationand functional configuration of a robot system according to oneembodiment of the present technology. For example, a robot system 500can be equipped with electronic/electrical equipment such as a processor502, storage device 504, communications device 506, input-output device508, actuation device 512, transfer motor 514, sensor 516 or combinationthereof. The robot system 500 can be equipped with more than one ofthese elements and devices.

Also, these elements and devices can be coupled together via wiredconnections and/or wireless connections. For example, the robot system500 can include buses such as a system bus, a Peripheral ComponentInterconnect (PCI) bus or a PCI Express bus, a HyperTransport orIndustry Standard Architecture (ISA) bus, Small Computer SystemsInterface (SCSI) bus, Universal Serial Bus (USB), an IIC (I2C) bus, andan Institute of Electrical and Electronic Engineers (IEEE) 1394 bus(also referred to as a “Firewire” bus).

Also, to provide wired connections among devices, the robot system 500can include, for example, a bridge, an adapter, a controller, andanother signal-related device. Wireless connections may be based, forexample, on a cellular communications protocol (e.g., 3G, 4G, LTE, or5G), a wireless local area network (LAN) protocol (e.g., wirelessfidelity (WIFI)), a peer-to-peer or device-to-device communicationsprotocol (e.g., Bluetooth (registered trademark) or Near-FieldCommunications (NFC)), an Internet of Things (IoT) protocol (e.g.,NB-IoT or LTE-M), and/or another wireless communications protocol.

The processor 502 can include a data processor (e.g., central processingunit (CPU), special-purpose computer, and/or on-board server) configuredto execute commands (e.g., software instructions) stored in the storagedevice 504 (e.g., a computer memory). The processor 502 can executeprogram instructions so as to control, or interact with, other devices,thereby making the robot system 500 perform various motions, operations,and/or manipulations for tasks.

The storage device 504 can include a computer-readable non-transitoryrecording medium with program instructions (e.g., software) storedthereon. Examples of the storage device 504 include a volatile memory(e.g., cash and/or random access memory (RAM)), a non-volatile memory(e.g., flash memory and/or magnetic disk drive), a portable memorydrive, and a cloud storage device.

In some embodiments, the storage device 504 further stores processingresults, predetermined data, a predetermined threshold, a predeterminedparameter, and allows access to them as appropriate. For example, thestorage device 504 can store master data 552 including information dataassociated with objects that can be maneuvered by the robot system 500.

Regarding the objects targeted to be handled by the robot system 500,the master data 552 can include dimensions, shapes (e.g.,computer-generated templates of possible states and computer-generatedmodels used to recognize the objects in different states), colors,images, identification information (e.g., bar codes, Quick Response (QR)codes (registered trademark), and logos as well as positions where thecodes and the like are expected to be provided), expected weights, or acombination thereof. Also, the master data 552 can include relatedinformation about objects and their maneuvering such as respectivecenter-of-mass positions of the objects, expected measurement values(e.g., various measurement values of force, torque, pressure, and acontact reference value) of sensors in response to one or moremotions/movements, or a combination thereof.

Also, for example, the storage device 504 can store object tracking data554 produced when the objects are manipulated or processed by the robotsystem 500. The object tracking data 554 can include a log of scanned orhandled objects. Also, the object tracking data 554 can include imagedata (e.g., photos, point clouds, and/or live videos that are provided)of objects at one or more positions (e.g., a specified pickup positionor drop position, and/or, a position on a conveyor belt) and positionsand/or states (orientations, etc.) of the objects at one or morepositions.

The communications device 506 can include a circuit configured tocommunicate with an external device or remote device via a network. Forexample, the communications device 506 can include a receiver,transmitter, regulator/demodulator (modem), signal detector, signalencoder/decoder, connector port, and network card. The communicationsdevice 506 can be configured to receive, transmit, and/or processelectric signals according to one or more communications protocols(e.g., the Internet Protocol (IP) and a wireless communicationsprotocol). Using the communications device 506, the robot system 500 canexchange information among the units of the robot system 500 and/or withsystems/apparatus external to the robot system 500 for example, for thepurposes of data collection, analysis, reporting, trouble shooting, andthe like.

The input-output device 508 can include a user interface deviceconfigured to exchange information with the operator and/or receiveinformation from the operator. For example, to exchange information withthe operator, the input-output device 508 can include a display 510and/or other output device such as a speaker, tactile circuit, andtactile feedback device. Also, the input-output device 508 can includecontrol and receiving devices such as a keyboard, mouse, touchscreen,microphone, user interface (UI) sensor (e.g., a camera used to receivemotion commands), and wearable input device. Using the input-outputdevice 508, the robot system 500 can interact with the operator whenperforming tasks, motions, operations, manipulations, or a combinationthereof on the robot system 500.

One or more units of the robot system 500 can include a structuralmember (e.g., a robot arm and the like) connected by a joint for motions(e.g., rotation and/or translation) and an end effector. The endeffector can be configured to perform actions, such as gripping,spinning, or welding. The robot arm may be configured to maneuver theend effector (e.g., see also FIGS. 3, 4A, and 4B). Also, at or around ajoint, the robot system 500 can include an actuation device 512 (e.g., amotor, actuator, wire, artificial muscle, or electroactive polymer)configured to drive or maneuver (by e.g., displacing and/or orienting)the structural member and the transfer motor 514 configured to transferthe unit from one position to another.

The robot system 500 can include a sensor 516 to obtain information usedto drive or maneuver the structural member and/or performing transferwork of various units. The sensor 516 can include various devicesconfigured to detect or measure one or more physical properties (e.g.,states, conditions, positions, and the like of one or more joints orstructural members) of the robot system 500 and/or characteristics of asurrounding environment. As such a sensor 516, the robot system 500 caninclude an imaging sensor 522, position sensor 524, and contact sensor526 as well as an accelerometer, gyroscope, force sensor, strain gage,and torque sensor.

Some examples of the imaging sensors 522 can include a visible cameraand/or infrared camera, a two-dimensional imaging camera and/orthree-dimensional imaging camera (2D vision and/or 3D vision), and aranging device such as a lidar or radar configured to detect thesurrounding environment. In applying automated inspection, robotguidance, or another robot, the imaging sensor 522 can generate displaydata such as digital images and/or depth measures (point clouds) thatcan be processed by the controller to control various units.

To handle each object, the robot system 500 can acquire and analyzeimages of specified regions (e.g., regions containing a grip position, apick-up position, a drop position, and other working positionsassociated with the object), and thereby identify each of the positions.For example, the imaging sensor 522 can include the above-mentionedcameras and ranging devices configured to generate image data and depthmeasures of the specified regions. Based on acquired images and/orranging data, the robot system 500 can determine, for example, the gripposition, pick-up position, drop position, and other working positionsregarding the object. Note that the robot system 500 can scan the objectand keep a log of the object for transportation/storage. In this case,the imaging sensor 522 can include one or more scanners (e.g., a barcode scanner and/or QR code scanner (registered trademark)) configuredto scan identification information about the object during manipulationof the object.

Also, the position sensor 524 include for example, a position encoderand potentiometer configured to detect the position of a joint/structuremember (e.g., a robot arm and/or end effector) in each unit of the robotsystem 500. While performing task, the robot system 500 can use theposition sensor 524 to keep track of the positions and/or poses(orientations, etc.) of the structural members and/or joints.

Furthermore, examples of the contact sensor 526 can include a pressuresensor, a force sensor, a strain gage, a piezoresistive/piezoelectricsensor, a capacitive sensor, an elastic resistance sensor, and othertactile sensors configured to measure properties related to directcontact between plural physical structures or surfaces. The contactsensor 526 can measure a property corresponding, for example, to a gripoperation of the end effector with respect to an object. The contactsensor 526 is configured to measure a physical characteristic orcondition corresponding to contact or adherence between the object andthe gripper. The contact sensor 526 can output quantified measurementvalues (e.g., various measurement values of force, torque, pressure, anda contact reference value) corresponding to the measured physicalcharacteristic or condition. Note that the contact reference valueincludes one or more readouts of force or torque in relation to forceapplied to the object by the end effector.

Note that the robot system 500 is described herein with regards to awarehouse and logistics system as examples, but the robot system 500 isnot limited to such applications. The robot system 500 can be configuredto execute various tasks in other environments or for other purposes tocarry out manufacture, assembly, packing, health care and/or other typesof automated operation. Also, the robot system 500 can include othernon-illustrated units such as manipulators, service robots, and modularrobots. Also, the robot system 500 can include, for example, varioustypes of unloading/loading robot adapted to operate in a warehouse ordistribution/transportation hub for transferring objects from a cagecart or pallet to a conveyor or another pallet. The robot system 500 mayalso include a sorting system, an unpacking robot used to unpackobjects, a top-opening machine, a container switching robot used totransfer objects from one container to another, a packing robot used topack objects, a packing machine, or a combination thereof.

Operation Example

FIG. 6 is a partial functional configuration diagram showing an exampleof a work flow performed by a robot system according to one embodimentof the present technology as well as an example of a functionalconfiguration of a controller provided on the robot system. In someembodiments, a robot system 600 may be implemented in a warehouse or thelike. The robot system 600 can be for warehousing, stocking, storing,and shipping objects in a logistics system. The robot system 600 caninclude a controller 610 as an apparatus adapted to adjust and controloperation of various units of the robot system 600. The robot system 600can be configured to store objects on a shelf for the replenishmentprocess P20 of FIG. 1 and retrieve the objects from the shelf in theshipping process P30 of FIG. 1.

As described above, the controller 610 is configured as a stand-alonedevice or part of another unit. The controller 610 can be configured toadjust and control motions for tasks executed by units such as thetransport robots 11 and 12 and the handling robots 13 and 14. Morespecifically, the controller 610 may be communicably connected to thetransport robot 11, the handling robot 13, and the sensor 516 (e.g., theimaging sensor 522). The controller 610 may be connected to a warehousemanagement system (WMS) (not shown), other host system, and/or externalsystem, as needed.

Also, the controller 610 includes a data acquisition unit 612, a datastorage unit 614, and a robot control unit 616. The controller 610 caninclude a processor 502, storage device 504, and communications device506 illustrated in FIG. 5. In particular, the processor 502 can functionas the data acquisition unit 612 and robot control unit 616 while thestorage device 504 can function as the data storage unit 614. The robotsystem 600 can be configured to execute a first task of storing objects16 on a shelf 15 and/or a second task of retrieving the objects 16 fromthe shelf 15.

First Task: Storing Objects 16 in Shelf 15

For the first task, sub-tasks A1 to A5 shown below are executed insequence according to appropriate timing.

A1: The shelf 15, initially kept in a storage area 101, is transported(via the transport robot 11) from its storage location to an accessposition 601 (stop location (SL)) in a grouping area 103.

A2: Each object 16 may be placed, for example, at a transfer (output)location 602 (output location (OL)), such as on a conveyor in thegrouping area 103. To further manipulate the object 16, the object 16can be gripped by the handling robot 13. The object 16 may be grippedvia suction and/or along a lateral direction. The object 16 may be heldor supported from below in the case of the handling robot 14; the sameapplies to the following.

A3: The gripped object 16 is moved from the transfer location 602 to theaccess position 601.

A4: The object 16 is stored (replenished or stocked) in a specifiedvacant position on the shelf 15. The shelf may be held at rest by thetransport robot 11 for the storage sub-task.

A5: After replenishing the object 16, the shelf 15 is returned from theaccess position 601 to the storage location in the storage area 101 bythe transport robot 11.

FIG. 7 is a flowchart showing an example of procedures for executing thefirst task by operating a robot system according to an embodiment of thepresent technology. At block 701, the data acquisition unit 612acquires, for example, first data including information about objects 16before executing the sub-task A1. The data acquisition unit 612 mayfurther acquire information about each shelf 15. The data storage unit614 can store the first data by associating the first data with theobjects 16 and/or the shelves 15.

For example, the data acquisition unit 612 can image the object 16temporarily placed at the transfer location 602 in the grouping area103. The data acquisition unit 612 may use a 3D-vision or other imagingsensor 522 and acquire information about the object 16 such asidentification information, positional information, and/or shapeinformation. The data acquisition unit 612 may acquire information onthe weight and center of mass based on processing the acquired imagedata as well as on the master data 552. Alternatively, information aboutthe object 16 and shelf 15 can be estimated or pinpointed from trackedor processed information regarding the objects 16 and/or the shelves 15in the master data 552. Note that, for identifying/tracking an object16, for example, methods described in Japanese Patent Applications Nos.2019-118678 and 2019-080213, U.S. patent application Ser. No.16/258,120, now U.S. Pat. No. 10,456,915, and other applications can beused. Alternatively, the data acquisition unit 612 can acquireinformation about the object 16 from a host system such as the WMS. Inthat case, information about the object 16 can be acquired in advancebefore the object 16 is placed at the transfer location 602.

At block 702, based on information about the objects 16 and/or theshelves 15 kept in the storage area 101, the robot control unit 616determines the shelf 15 targeted to store the objects 16. In this case,the robotic unit can select the shelf 15 suitable to receive and storethe objects 16 according to the shape of the objects 16, available spaceon the shelf 15, an SKU (Stock Keeping Unit) of the objects 16 going tobe stored, an SKU of the objects 16 already on the shelf 15, and thelike. The robot control unit 616 selects the shelf 15 based onincreasing storage efficiency for the entire warehouse, such as byconcentrating/grouping the objects 16 according to the SKU. Furthermore,the robot control unit 616 can select the shelf 15 according to atransport path and the like to the grouping area 103.

At block 703, the robot control unit 616 specifies the transport robot11 used to transport the selected shelves 15 from the storage area 101to the access position 601 in the grouping area 103. The robot controlunit 616 can create or acquire a control sequence (e.g., a transportpath of the shelf 15 and/or the transport robot 11), such as usingmachine learning or the like. Based on the control sequence, the robotcontrol unit 616 instructs the specified transport robot 11 to executethe sub-task A1 of transporting the shelf 15 to the access position 601.

In block 704, based on information about the objects 16, the robotcontrol unit 616 creates or acquires a control sequence, such as usingmachine learning or the like. The robot control unit 616 can create oracquire the control sequence either simultaneously with the sub-task A1or before or after the sub-task A1. The control sequence may involvegripping (via, e.g., vacuum) from the lateral direction, andsubsequently moving the object 16 temporarily placed at the transferlocation 602. The control sequence can include moving or transferringthe object 16 from the transfer location 602 to the access position 601using the handling robot 13. Based on the control sequence, the robotcontrol unit 616 instructs the handling robot 13 to execute thesub-tasks A2 and A3 of gripping and moving the object 16 to the accessposition 601.

The timing to execute the sub-tasks A2 and A3 is not specificallylimited. For example, the robot control unit 616 may instruct thehandling robot 13 to perform at least part of the handling in thecontrol sequence before the shelf 15 reaches the access position 601. Inthat case, before the shelf 15 reaches the access position 601, thehandling robot 13 can complete the operation of gripping and moving theobjects 16 to the access position 601. When the shelf 15 arrives, thehandling robot 13 can execute the sub-task A4 of storing the objects 16on the shelf 15.

At block 705, the controller 610 images the objects 16 and shelf 15 atthe access position 601 using a 3D-vision or other imaging sensor 522.The controller 610 can process the resulting image data, and check thestates and conditions of the objects 16 and shelf 15. Furthermore, atblock 705, based on information about the objects 16 and the shelf 15(e.g., availability of the shelf 15, in particular), the robot controlunit 616 specifies positions on shelf boards on the shelf 15 targeted orselected to store the objects 16. The robot control unit 616 can createor acquire a control sequence, for example, using machine learning orthe like. The control sequence can include travel paths of the objects16 to these positions. Based on the control sequence, the robot controlunit 616 instructs the handling robot 13 to execute the sub-task A4 ofdropping or placing the objects 16 in specified positions on the shelf15, which may be held at rest by the transport robot and/or placed atthe access position 601.

In so doing, the robot control unit 616 can designate, for example, anyposition on the shelf 15 as reference coordinates for the handling robot13 to access the shelf 15. The resting position or the current locationof the shelf 15 can be calculated based on the access position 601 atwhich the transport robot 11 holding the shelf 15 stops; the position ofthe shelf 15 on the transport robot 11 may deviate from a standardposition. Thus, the controller 610 calculates positions of the transportrobot 11 and shelf 15 from image data of the shelf 15 at the accessposition 601. The data acquisition unit 612 can acquire relativepositional information about the transport robot 11 and shelf 15. Therobot control unit 616 may correct positional information about theshelf 15 at the access position 601 based on the relative positionalinformation about the two. The robot control unit 616 may create oracquire a control sequence for the sub-task A4 based on the correctedpositional information about the shelf 15.

Also, the shelf 15 may include multiple tiers of shelf boards that mayeach receive, store, and provide access to (e.g., along a lateraldirection) the objects 16. Safety catchers 152 may be provided on endportions of each shelf board of the shelf 15. In some embodiments, thesafety catchers 152 may protrude upward from the end portions.Consequently, the robot control unit 616 can create or acquire a controlsequence such that the objects 16 is gripped by the handling robot 13along a lateral/horizontal direction and is moved over the safetycatcher 152 without interfering with the safety catchers 152.

When storage (replenishment) of the objects 16 on the shelf 15 iscompleted in this way, such as at block 706, the robot control unit 616creates or acquires a control sequence, which may include a transportpath along which the shelf 15 replenished with the objects 16 may bereturned. The transport path can be for returning the shelf 15 from theaccess position 601 to the storage location in the storage area 101 bythe transport robot 11. Based on the control sequence, the robot controlunit 616 instructs the transport robot 11 to execute the sub-task A5 oftransporting and returning the shelf 15 to the storage area 101.

When the above-mentioned first task of storing objects 16 on the shelf15 is completed, such as at block 707, the data acquisition unit 612acquires second data including information about the shelf 15 thereceived the objects 16. The second data may further include informationabout storage locations of the objects 16 on the shelf 15. The datastorage unit 614 can store the second data in association with theobjects 16 and shelf 15.

For subsequent storage or restocking tasks involving the objects 16and/or the shelf 15, the robot control unit 616 can create or acquire acontrol sequence configured to keep the objects 16 in a concentratedmanner based on the second data. In other words, the objects 16 can beplaced on the shelf 15 as a group with minimal space between the objects16. Also, based on properties of the objects 16, the robot control unit616 can create or acquire the control sequence that groups the objects16 according to the SKU. Further, the control sequence can be forgrouping/placing the objects 16 corresponding to equal or similar shapesand/or sizes in a concentrated manner. The second data can be updatedafter transfer of each object 16 to or from the shelf 15 as describedbelow.

Furthermore, based on the second data, the data storage unit 614 canstore positional information (layout information) about one or moreobjects 16 on the shelf 15. The data storage unit 614 can furtherorganize the positional information according to each object orgroupings of objects, according to each shelf board (layer) of the shelf15 (e.g., as two-dimensional information for each shelf board), and/orfor the overall shelf (e.g., as three-dimensional information acrossmultiple shelf boards).

Also, each object 16 may have an identification code or identificationtag accessible from a side surface thereof. The object 16 may be placedon the shelf 15 such that the identification information on the sidesurface may be exposed in such a way as to be visible from outside theshelf 15. By checking the identification information about the object 16using the imaging sensor 522 or the like, even when the object 16 is onthe shelf 15, the object 16 can be identified and located easily. Whenthe positional information about multiple objects 16 on the shelf 15 isstored as two-dimensional information or three-dimensional information,locating any object on the shelf 15 can lead to locating the targetedobjects 16 on the shelf 15. The targeted objects 16 can be located basedon a relative location/relationship to the initially located object.Note that the imaging sensor 522 can be configured to image the shelf 15either when the transport robot 11 holding the shelf 15 is at rest orwhen the transport robot 11 holding the shelf 15 is moving, i.e., eitherwhen the shelf 15 is at rest or moving.

Also, the robot control unit 616 may be configured to flag that thestorage of an object 16 on the shelf 15 is or will be complete beforeplacement (e.g., sub-task A4) of the object 16 on the shelf 15 isactually finished. For example, the robot control unit 616 set the flagby checking an operating state of an end effector of the handling robot13 or by tracking movement of the object 16, such as by using theimaging sensor 522. The flag can be set to indicate that the storage ofthe object 16 is complete when the entire object 16 or most part of theobject 16 is moved to the shelf board of the shelf 15 or when part ofthe object 16 touches the shelf board.

The robot system 600 can execute the first task (storage of objects 16on the shelf 15) and the second task (retrieval of objects 16 from theshelf 15) based on implementing unit tasks B1 to B5 in appropriateorder/sequence with appropriate timing.

Second Task: Retrieving Objects 16 from Shelf 15

The second task can include a sequence of unit tasks B1 to B5 describedbelow.

B1: A shipping order that specifies stored objects 16 may be received.The shelf 15 kept in the storage area 101 may store the ordered objects16. Such shelf 15 may be transported (e.g., via the transport robot 11)from the storage location to the access position 601 (stop location SL)in the grouping area 103.

B2: The shelf 15 may be held by the transport robot 11 and transportedto the access position 601. Each object 16 on the shelf 15 may begripped by the handling robot 13. For example, the handling robot 13 mayapproach the object 16 along lateral direction and grip the object 16via suction.

B3: The gripped object 16 is moved from the access position 601 to thetransfer location 602.

B4: The object 16 is dropped and placed (e.g., temporarily) at thetransfer location 602.

B5: The shelf 15 from which the objects 16 have been retrieved isreturned from the access position 601 to the storage location in thestorage area 101 by the transport robot 11.

FIG. 8 is a flowchart showing an example of procedures for executing thesecond task by operating a robot system according to an embodiment ofthe present technology. First, at block 801, the data acquisition unit612 acquires, for example, first data including information aboutobjects 16 before executing the sub-task B1. The data acquisition unit612 may further acquire information about each shelf 15. The datastorage unit 614 can store the first data by associating the first datawith the objects 16 and/or shelves 15.

For example, when a shipment order for the objects 16 is received thedata acquisition unit 612 can acquire information about the orderedobjects 16. The data acquisition unit 612 can acquire the informationbased on the second data stored in the data storage unit 614 and/or themaster data 552. Some examples of the acquired information may includeidentification information, positional information, shape information,and information on the weight and center of mass of the ordered objects16. Other examples of the acquired information may includeidentification information and storage location of the shelf 15 on whichthe ordered objects 16 are stored. At block 802, based on theinformation about the objects 16 and the shelves 15, the robot controlunit 616 can select a shelf 15 to retrieve the ordered objects 16. Therobot control unit 616 can determine one or more optimal shelves 15having the ordered objects 16 thereon based on corresponding transportpaths and the like to the grouping area 103.

At block 803, the robot control unit 616 specifies the transport robot11 for transporting the one or more determined shelves 15 from thestorage area 101 to the access position 601 in the grouping area 103.The robot control unit 616 can create or acquire a control sequence(via, e.g., machine learning or the like) that may include a transportpath of the shelf 15 transported by the transport robot 11. Based on thecontrol sequence, the robot control unit 616 instructs the specifiedtransport robot 11 to execute the sub-task B1 of transporting the shelf15 to the access position 601.

When an end effector of the handling robot 13 is not at the accessposition 601, the robot control unit 616 instructs the handling robot 13to move the end effector of the handling robot 13 to the access position601. The robot control unit 616 may move the end effector eithersimultaneously with the sub-task B1 or before or after the sub-task B1.In this case, by completing the movement of the handling robot 13 beforethe shelf 15 reaches the access position 601, the handling robot 13 canexecute the sub-task B2 of retrieving the objects 16 from the shelf 15immediately upon arrival of the shelf 15.

When the transport robot 11 arrives at the access position 601, such asat block 804, the controller 610 images the objects 16 and shelf 15 atthe access position 601 using a 3D-vision or other imaging sensor 522.The controller 610 may process the resulting image data and check thestates and condition of the objects 16 and shelf 15. Furthermore, atblock 804, based on information about the objects 16 and the shelf 15(e.g., storage situation in the shelf 15, in particular), the robotcontrol unit 616 specifies the position of an object 16 on the shelf 15.The robot control unit 616 can create or acquire a control sequence(e.g., by machine learning or the like) which may include a travel pathof the end effector to the position and/or commands or settings forpicking up and moving the object 16 from the access position 601 to thetransfer location 602. Based on the control sequence, the robot controlunit 616 instructs the handling robot 13 to execute the sub-tasks B2 andB3 of gripping the object 16 on the shelf 15 that is held by thetransport robot 11. The object may be gripped when the transport robot11 is stopped at the access position 601 and/or moving to the transferlocation 602.

In so doing, as with the first task, the controller 610 calculatespositions of the transport robot 11 and shelf 15 from image data of theshelf 15 at the access position 601. The data acquisition unit 612 canacquire relative positional information about the transport robot 11 andshelf 15. The robot control unit 616 corrects positional informationabout the shelf 15 at the access position 601 based on the relativepositional information about the two. Accordingly, the robot controlunit 616 can create or acquire a control sequence for the sub-task B2,such as via machine learning or the like. The robot control unit 616 cancreate or acquire the control sequence based on the corrected positionalinformation about the shelf 15. Also, the robot control unit 616 cancreate or acquire a control sequence such that the objects 16 will moveover the safety catcher 152 without interfering with the safety catchers152.

At block 805, the controller 610 images the objects 16 at the transferlocation 602 as well as images the transfer location 602 (e.g., aconveyor surface and final position) using a 3D-vision or other imagingsensor 522. The controller 610 can process the resulting image data andcheck the depicted states and situations of the objects 16 and thetransfer location 602. Furthermore, at block 805, the robot control unit616 can create or acquire a control sequence, which may include aspecified position of the objects 16 that make up the travel paths tothe specified position. Based on the control sequence, the robot controlunit 616 instructs the handling robot 13 to execute the sub-task B4 ofdropping or placing the objects 16 at the specified position in thetransfer location 602. Note that in directly placing the objects 16 in ashipment container provided at the transfer location 602, theavailability of space in the shipment container may be checked using theimaging sensor 522. The resulting image may be processed to increase thestorage efficiency.

After the objects 16 are retrieved, such as at block 806, the robotcontrol unit 616 creates or acquires a control sequence. The controlsequence may include a transport path for returning the shelf 15 fromwhich the objects 16 have been retrieved. The transport path may be forreturning the shelf 15 from the access position 601 to the storagelocation in the storage area 101 using the transport robot 11. Based onthe control sequence, the robot control unit 616 instructs the transportrobot 11 to execute the sub-task B5 of transporting the shelf 15 to thestorage area 101.

When the above-mentioned second task of retrieving handling objects 16from the shelf 15 is complete, such as at block 807, the dataacquisition unit 612 acquires the second data regarding the shelf 15from which the objects 16 have been retrieved. The second data mayfurther include information about the storage locations of the otherobjects 16 on the shelf 15. The data storage unit 614 may store thesecond data by associating the second data with the objects 16 and shelf15. In this way, the second data on the storage situation of objects 16on the shelf 15 is updated after each manipulation/removal of the object16. Also, as with the first task, the data storage unit 614 can use thesecond data to store the positional information about multiple objects16 on the shelf 15. The positional information may represent themultiple objects as two-dimensional information (e.g., for a shelfboard) or three-dimensional information (e.g., for the overall shelf).

Also, as with the first task, when the objects 16 stored on the shelf 15have identification information on a side surface, the identificationinformation about the objects 16 can be checked using the imaging sensor522. Furthermore, the imaging sensor 522 can be configured to image theshelf 15 when the transport robot 11 holding the shelf 15 is at rest orwhen the transport robot 11 holding the shelf 15 is moving.

Also, the robot control unit 616 may be configured to indicate that theretrieval of an object 16 from the shelf 15 is or will be completebefore the retrieval (sub-task B2) of the object 16 from the shelf 15 isactually finished. For example, by checking an operating state of an endeffector of the handling robot 13 or by tracking movement of the object16 using the imaging sensor 522, completion status of the objectretrieval may be tracked or determined. The robot control unit 616 canindicate the completion status when the entire object 16 or most part ofthe object 16 is moved out of the shelf 15 or when the entire object 16or part of the object 16 leaves the shelf board.

The controller 610 and control method for the robot system 500 or 600configured as described above makes it possible to determine informationabout the objects 16 and the shelf 15 before storing the objects 16 onthe shelf 15 or before retrieving the objects 16 from the shelf 15. Therobot system 500 or 600 can execute tasks (first and second tasks) via acontrol sequence created or acquired based on the first and/or seconddata including the above information. This in turn makes it possible toefficiently and smoothly perform the operation of storing the objects 16on the shelf 15 and the operation of retrieving the handling objects 16from the shelf 15. In so doing, sophisticated cooperation among units ofthe robot system 500 or 600 (e.g., between the transport robot 11 andhandling robot 13) can be implemented, making it possible to expand thefunctionality of the robot systems 500 and 600.

Another Application Example 1

FIG. 9A is a schematic plan view showing an example environment in whicha robot system according to one embodiment of the present technology canoperate. As with the robot system 600, a robot system 100 can beinstalled, for example, in a warehouse or the like. The robot system 100may serve as a foothold for warehousing, replenishment, storage, andshipping in a logistics system. Also, the robot system 100 can beconfigured to perform or execute one or more tasks and/or an appropriatecombination of plural tasks. The tasks can be performed or executedsuitably by one or more units (e.g., various robots, various devices, acontroller provided integrally therewith or separately therefrom) of therobot system 100. Also, the robot system 100 can be used to transferordered items from a stored object to a shipment container in theshipping process P30 shown in FIG. 1.

As shown in FIG. 9A, the robot system 100 can include one or moretransport robots 11 and 12 (e.g., one or more AGVs described above)serving as a transport unit/transport units, one or more handling robots13 (e.g., piece-picking robots) serving as transfer/sorting unitsconfigured to move objects between different places. The robot system100 can include a controller (not shown in FIG. 9A).

To achieve predetermined goals, the tasks can be combined. The combinedtasks can include individual tasks targeted for execution bycorresponding units in appropriate order. The combined tasks may beconfigured such that each unit will execute various different tasksselected as appropriate. Each unit of the robot system 100 can executeone or more tasks to access various different items scattered in thestorage area 101, such as stored on the shelf 15 or in a container 16.The tasks can be for accessing various different items according toproperties of the items specified by an incoming order or a packingorder.

The transport robot 11 can execute the task of transferring, forexample, the shelves 15 having the containers 16 stacked or storedthereon. The shelves 15 can be transferred between the storage area 101and a transportation area 102. The transport robot 12 can also retrieve(pick up) containers 16 from the transported shelves 15. Also, thetransport robot 12 can execute the task of transferring the containers16 between the transportation area 102 and the grouping area 103 (anarea used to group items, such as the stop location SL of the containers16 in FIG. 9A). The handling robot 13 can execute the task of picking upordered items from within the containers 16 that has been placed in thegrouping area 103. The containers 16 can be moved to the transferlocation OL (e.g., containers or boxes packing the ordered items, or aconveyor or temporary storage area on which the containers or boxes areplaced) and/or other shipment containers or the like.

In executing a task, for example, when a shipment order is issued, whenstored objects are rearranged, or when item replenishment is carriedout, the robot system 100 can identify different areas in whichindividual units and/or unit groups operate. In some embodiments, therobot system 100 can identify the storage area 101 in which thetransport robot 11 operates, the transportation area 102 in which thetransport robot 12 operates, and the grouping area 103 in which thetransport robot 12 and/or handling robot 13 operate. Note that the areasin which the transport robots 11 and 12 and handling robot 13 operateare not limited to the areas described above, and, for example, thetransport robot 11 may further operate in the transportation area 102and the transport robot 12 may further operate in the storage area 101according to an appropriate control sequence.

Also, the areas in which the units operate may be adjacent to each otheror partially overlap each other. For example, the storage area 101 maybe adjacent to the transportation area 102 while the transportation area102 may partially overlap the grouping area 103. The transport robots 11and 12 can operate in different areas by accessing the shelf 15 in thetransportation area 102, for example, as shown in FIG. 9A. Consequently,the robot system 100 can reduce the possibility of potential collisionsor obstructions involving different types of unit. Note that thehandling robot 13 can be fixed in place, making it easy for thetransport robot 12 to enter the grouping area 103 without colliding withother units or causing congestion during movement.

Also, the robot system 100 can use appropriate paths to navigatetransport units such as the transport robots 11 and 12. For example, therobot system 100 can use a first path P1 to maneuver one or moretransport robots 11, and/or a second path P2 to maneuver one or moretransport robots 12. Note that the first path P1 and second path P2 maybe separated from each other by a distance or space so as not to overlapeach other, for example, as shown in FIG. 9A, but this is notrestrictive.

Also, floor markings (e.g., painting or tape) may be provided on thefirst path P1 and second path P2 in order for transport units to tracethe floor markings for locomotion. This allows the robot system 100 toidentify shapes/positions of the floor markings and use the identifiedinformation when instructing the transport units to perform pathcalculations and/or sequence positions (e.g., pick-up positions and/ordrop positions of objects to be transported). Furthermore, the firstpath P1 and second path P2 can include a series of links (e.g., pathsamong the shelves 15) and nodes (e.g., crossing positions of paths orspecified positions used in changing a travel direction).

Also, the robot system 100 can calculate efficient paths that allowtransport units to move between pick-up positions and/or drop positionswithout interfering with other units. These transport units cancalculate current positions on the paths using, for example, aposition/navigation system and move along specified paths and routesbased on the current positions.

Note that as described above, the robot system 100 can set tasks as aseries of tasks executed by multiple units, and control each of theplural units based on characteristics of individual tasks for optimizingexecution of an integrated task. For example, the robot system 100 canmake adjustments such as defining a range of operations that requireplural units or defining a range of operations that involves pluralspecified areas.

For example, to respond to a shipment order and fulfill the order, taskscan be executed. The tasks may involve: pinpointing the storage locationof ordered items in the storage area 101, such as a shelf 15 storingordered items or a shelf 15 in which a container 16 storing the ordereditems is stacked; transferring the shelf 15 to the transportation area102; transferring the container 16 from the shelf 15 to the groupingarea 103; transferring the ordered items from the container 16 to atarget position such as a shipment container and/or conveyor; returningthe container 16 to the shelf 15; and returning the shelf 15 to thestorage area 101.

Also, to deal with warehousing of items or replenishment with items,tasks or a task made up of an appropriate combination thereof can beexecuted, where the tasks involve: determining a container 16 capable ofstoring the items and a shelf 15 capable of storing the container 16 asa storage location of the items based, for example, on demandforecasting to determine an available storage location; storingwarehoused items or replenishment items in the container 16; loading thecontainer 16 storing the warehoused items or replenishment items intothe shelf 15; and transferring the shelf 15 to an appropriatepredetermined storage location.

Also, to maneuver various units, the robot system 100 can generate, forexample, commands, control settings, motion plans, positions,identification information, paths, current positions of the units,states, progress information, or a combination thereof needed to operateactuators in the respective units. The generated information can becommunicated among the individual units, and tasks can be executed bysharing the generated information among the controller and units.

FIG. 9B is a schematic plan view showing part of the example environmentin which the robot system according to the embodiment of the presenttechnology can operate, illustrating a state of the grouping area 103 inFIG. 9A and its surroundings. The grouping area 103 is an area in whichthe handling robot 13 picks up items from the container 16, transfersthe items to the transfer location OL on a conveyor or the like, and/orrelocates the items within the container 16. The grouping area 103 caninclude, for example, one or more stop locations SL at which thetransport robot 12 stops, such as to move close to the handling robot13. The stop locations SL correspond to reference positions at which oneor more transport robots 12 stop while the handling robot 13 isexecuting a task of handling items. Also, the stop locations SL includepositions at which the end effector (e.g. a gripper (such as a damper ordevanning gripper) or hand) provided at the tip of the robot arm of thehandling robot 13 is accessible to the container 16 on the transportrobot 12.

Also, the robot system 100 can include an imaging sensor (not shown inFIGS. 9A and 9B) configured to image one or more positions. Examples ofthe imaging sensor include a two-dimensional/three-dimensional camera(2D/3D vision camera, such as a lidar or a radar) configured to imagethe container 16 in the grouping area 103 (e.g., on the transport robot12 at the stop location SL and/or at the transfer location OL). Therobot system 100 can process and use image data acquired by the imagingsensor for various purposes.

For example, the robot system 100 can process and use image data toidentify items, select one or more items, grip the item, and identifythe position and state (orientation, etc.) of the item. Furthermore,using the image data, the robot system 100 can calculate the quantity ofitems stored in the container 16 and status of the container 16 such asitem-filled state or availability state of the container 16. Note thatan internal state of the container 16 can be determined from thequantity of items and/or the height or the like of the items stored inthe container 16.

As a more specific example, if an order including four different kindsof item is received, the controller of the robot system 100 transmitscommands based on control sequences corresponding to respectiveoperations to four different transport robots 12 adapted to pick uprespective containers 16 storing respective ordered items. Each of thefour transport robots 12 can come to rest at one of the stop locationsSL in the grouping area 103, for example, as shown in FIG. 9B. When anyof the containers 16 arrives at the grouping area 103 and the transportrobot 12 come to rest at the stop location SL as shown in FIGS. 9A and9B, the container 16 functions as an item delivery container or an itemreceiving container.

Then, by maneuvering the handling robot 13, the robot system 100 can,for example, pick up ordered items from the containers 16 and transferthe ordered items to the shipment container or transfer conveyorcorresponding to the order. Furthermore, the robot system 100 caninclude one or more units (e.g., a conveyor, container sealing robot,loading robot, and shipping vehicle; not shown) configured to place theshipment container, for example, in a shipping location such as on aloading bay.

Note that whereas in the above description of the robot system 100,execution of tasks related to shipping (shipment) of items has mainlybeen described, to execute tasks related to warehousing of items orreplenishment with items, basically a control sequence that reverses theabove procedures is created or acquired, and the tasks are executedbased on the control sequence.

Another Application Example 2

FIGS. 10A and 10B are schematic plan views showing another exampleenvironment in which a robot system according to one embodiment of thepresent technology can operate, where FIG. 10B illustrates a state ofthe grouping area 103 in FIG. 10A and its surroundings. The robot system200 according to the present embodiment has a structure similar to therobot system 100 shown in FIGS. 9A and 9B except that items are storeddirectly on shelf boards of shelves 15 rather in the container 16 on ashelf. In this way, the robot system 200 can be regarded as an examplein which the objects according to the present technology aretargeted/processed items themselves and is subject to direct storage orremoval relative to a shelf for the replenishment process P20 andshipping process P30 shown in FIG. 1.

That is, the robot system 200 does not need to include the transportrobot 12 serving as a transport unit in the robot system 100, andconsequently, the transport robots 11 picking up shelves 15 by accessingthe storage area 101 can move along the first path P1, transport theshelves 15 to the grouping area 103, and come to rest at the stoplocations SL near the handling robot 13. When the shelves 15 arrive atthe grouping area 103 and the transport robots 11 come to rest at thestop locations SL as shown in FIGS. 10A and 10B, the shelves 15 functionas item delivery containers or item receiving containers.

Then, by maneuvering the handling robot 13, the robot system 200 can,for example, pick up ordered items from the shelves 15 and transfer theordered items to the shipment container and the like corresponding tothe order. Furthermore, the robot system 200 can include one or moreunits (e.g., a conveyor, container sealing robot, loading robot, andshipping vehicle; not shown) configured to place the shipment containerand the like, for example, in a shipping location such as on a loadingbay.

The robot system 200 configured and controlled in this way can omit thetransport robot 12, transportation area 102, and second path P2 of therobot system 100, and thus save space and improve operating efficiency.Note that shipping implementations are used above to describe the robotsystem 200 a control sequence for operating the robot system 200 can bereversed, such as for warehousing/replenishing items.

Whereas embodiments have been described above as examples of the presenttechnology, the above descriptions are merely examples of the presenttechnology in all respects and are intended to facilitate theunderstanding of the present invention, but are not to be interpreted aslimiting the present invention. Besides, needless to say, variousimprovements and modifications can be made without departing from thescope of the present technology, and the components of the embodimentsas well as the arrangements, materials, conditions, shapes, sizes, andthe like of the components are not limited to those illustrated above orspecific ones, and may be changed as appropriate.

In other words, embodiments of the present technology do not excludeother configurations, or limit the present technology to the aboveembodiments. Modified forms equivalent to the embodiments of the presenttechnology can be implemented within the scope of the presenttechnology. For example, processes, steps, routines, or blocks can becarried out in different orders in alternative embodiments within thescope of the present technology, and some processes, steps, routines, orblocks, may be deleted, moved, added, subdivided, combined, and/ortransformed within the scope of the present technology. Also, theprocesses, steps, routines, or blocks may be carried out by variousdifferent methods. Furthermore, even if the processes, steps, routines,or blocks are to be carried out successively in the above embodiments,the processes, steps, routines, or blocks can be carried outconcurrently in some cases or may be carried out non-successively atdifferent times. Furthermore, specific numerical figures cited hereinmay be different values or different ranges.

Also, being specific embodiments of the present technology, the aboveembodiments should not be regarded exclusively as “best conceivablemodes” and may be carried out by many alternative methods. Furthermore,details of the above embodiments may be changed significantly inspecific modes of implementation, but are still included in thetechniques of the present technology. In addition, the specific termsused to describe specific features or aspects of the present technologyare not limited to specific properties, features, or aspects, orspecific embodiments which are used in the present technology and withwhich the terms are associated, and thus the present invention is notlimited to specific meanings except as defined in the appended claims.Also, whereas the present invention is defined by an arbitrary number ofclaims, needless to say, various aspects are expected within the scopeof the present technology.

What is claimed is:
 1. A controller for a robot system including ahandling robot adapted to handle a handling object to store the handlingobject in a shelf and/or retrieve the handling object from the shelf,and a transport robot adapted to transport the shelf, the controllercomprising: a data acquisition unit adapted to acquire first dataincluding information about the handling object and information aboutthe shelf before storing the handling object in the shelf and/orretrieving the handling object from the shelf; a data storage unitadapted to store the first data; and a robot control unit adapted toselect and transport the shelf to an access position based on the firstdata before storing the handling object in the shelf and/or retrievingthe handling object from the shelf, create or acquire a control sequencefor storing the handling object in the shelf and/or retrieving thehandling object from the shelf, and based on the control sequence,instruct the transport robot to execute a task of transporting the shelfto the access position and instruct the handling robot to execute a taskof storing the handling object in the shelf and/or retrieving thehandling object from the shelf.
 2. The controller according to claim 1,wherein: the data acquisition unit acquires second data including theinformation about the handling object and the information about theshelf after the handling object is stored in the shelf and/or thehandling object is retrieved from the shelf; and the data storage unitstores the second data.
 3. The controller according to claim 2, whereinthe robot control unit creates or acquires the control sequence based onthe second data such that the handling object is placed in aconcentrated manner in the shelf.
 4. The controller according to claim1, wherein the robot control unit instructs the handling robot toperform at least part of operations in the control sequence before theshelf reaches the access position. the multi-gripper assembly includes acompliant sealing panel having a first side and a second side, and aplurality of spaced apart suction elements each extending from the firstside toward the second side of the compliant sealing panel and throughwhich a vacuum is capable of being drawn to hold, via a vacuum grip, theidentified one or more target objects against the compliant sealingpanel.
 5. The controller according to claim 1, wherein: the dataacquisition unit acquires relative positional information about thetransport robot and the shelf; and the robot control unit correctspositional information about the shelf at the access position based onthe relative positional information, and creates or acquires the controlsequence based on the corrected positional information.
 6. Thecontroller according to claim 1, wherein: the shelf is configured suchthat the handling object is stored and/or retrieved in a lateraldirection and a safety catcher for the handling object is installed inan end portion of the shelf; the handling robot grips the handlingobject from the lateral direction; and the robot control unit creates oracquires the control sequence such that the handling object moves overthe safety catcher.
 7. The controller according to claim 1, wherein thedata storage unit stores positional information about a plurality of thehandling objects in the shelf as two-dimensional information orthree-dimensional information for each handling object or for each shelfboard in the shelf.
 8. The controller according to claim 1, wherein: therobot system further includes a sensor adapted to image the shelfstoring the handling object; and to allow the sensor to measureidentification information about the handling object, the robot controlunit creates or acquires the control sequence for storing the handlingobject in the shelf.
 9. The controller according to claim 1, wherein:the robot system further includes a sensor adapted to image the shelfstoring the handling object; and the sensor images the shelf when thetransport robot holding the shelf is at rest or when the transport robotholding the shelf is moving.
 10. The controller according to claim 1,wherein the robot control unit determines that storage of the handlingobject in the shelf and/or retrieval of the handling object from theshelf are/is complete, before the storage of the handling object in theshelf and/or the retrieval of the handling object from the shelf are/isfinished.
 11. The controller according to claim 1, wherein the dataacquisition unit acquires actually measured values or estimated valuesof the information about the handling object and/or the informationabout the shelf.
 12. A logistics system comprising: the controlleraccording to claim 1; and a robot system including the handling robotand the transport robot.
 13. The logistics system according to claim 12,wherein: the controller identifies the robot system and a region relatedto the robot system and calculates tasks based on the control sequence;and the tasks include a task related to conveyance of the shelf andhandling of the handling object done by the robot system and a pluralityof tasks executed by the robot system across adjacent and/or overlappingregions.
 14. A program configured to cause a computer to function as thecontroller according to claim
 1. 15. A computer-readable non-transitoryrecording medium on which the program according to claim 14 is recorded.16. A control method for a robot system including a handling robotadapted to handle a handling object to store the handling object in ashelf and/or retrieve the handling object from the shelf, and atransport robot adapted to transport the shelf, the control method beingperformed by a controller having a data acquisition unit, a data storageunit, and a robot control unit, wherein: the data acquisition unitacquires first data including information about the handling object andinformation about the shelf before storing the handling object in theshelf and/or retrieving the handling object from the shelf; the datastorage unit stores the first data; and the robot control unit selectsand transports the shelf to an access position based on the first databefore storing the handling object in the shelf and/or retrieving thehandling object from the shelf, creates or acquires a control sequencefor storing the handling object in the shelf and/or retrieving thehandling object from the shelf, and based on the control sequence,instructs the transport robot to execute a task of transporting theshelf to the access position and instructs the handling robot to executea task of storing the handling object in the shelf and/or retrieving thehandling object from the shelf.